package workwx

import (
	"fmt"
	"net/url"
)

type WorkWX struct {
	key string
}

func InitWorkWX(key string) *WorkWX {
	return &WorkWX{key: key}
}

// Send 发送企业微信群机器人消息
// 消息发送频率限制
// 每个机器人发送的消息不能超过20条/分钟。
func (w *WorkWX) Send(msg *Message) error {
	u := sendURL + url.QueryEscape(w.key)
	var resp ResponseMeta
	_, err := postJSON(u, msg, &resp)
	if err != nil {
		return err
	}
	if !resp.Succeed() {
		return fmt.Errorf("%w; %v", ErrRequest, resp)
	}
	return nil
}
